#!/bin/bash

# 检查是否存在 config.txt 文件
if [ ! -f "config.txt" ]; then
    echo "config.txt 文件不存在"
    exit 1
fi

# 递归遍历目录函数
function traverse_directory() {
    local dir="$1"
    # 遍历目录中的文件和子目录
    for entry in "$dir"/*; do
        if [ -d "$entry" ]; then
            # 如果是目录，则递归调用函数
            traverse_directory "$entry"
        elif [ -f "$entry" ] && [[ "$entry" == *.trace ]]; then
            # 如果是以 ".trace" 结尾的文件，则进行转换
            cd "$(dirname "$entry")"
            "/mnt/d/tools/perfconv/perfconv.exe" convert "$(basename "$entry")"
            cd -
            echo "已经转换 $entry 文件到 systrace"
        fi
    done
}

# 逐行读取 config.txt 文件中的目录，并递归遍历每个目录
while IFS= read -r directory; do
    # 检查目录是否存在
    if [ ! -d "$directory" ]; then
        echo "目录 $directory 不存在"
    else
        traverse_directory "$directory"
    fi
done < "config.txt"
